"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProtoUtils = void 0;
const protolib_1 = require("./protolib");
const Logger_1 = require("../../utils/Logger");
/** 协议拓展支持 */
class ProtoUtils {
    static init() {
        Logger_1.Logger.log("ProtoUtils init==temp=", protolib_1.default);
        Logger_1.Logger.log("ProtoUtils init==proto=", proto);
    }
    /** 构造协议 */
    static Create(name) {
        if (!proto[name]) {
            return null;
        }
        return new proto[name]();
    }
    static CreateQianTao2(name1, name2) {
        return new proto[name1][name2]();
    }
    /** 反序列化 */
    static DeserializeBinary(name, data) {
        if (!proto[name]) {
            return null;
        }
        return proto[name].deserializeBinary(data);
    }
    /** 获取协议对象名字 */
    static GetProtoName(v) {
        // Logger.log("GetProtoName=", v.constructor.displayName.substring(6));
        return v.constructor.displayName.substring(6);
    }
}
exports.ProtoUtils = ProtoUtils;
